| Предыдущая | Следующая | Оглавление | |
Flash Player 5, или более новый для полной функциональности. Вы можете использовать функцию eval() для экспорта в Flash Player 4, но вам придется использовать слэш-запись (slash notation) и довольствоваться доступом только к переменным, но не к свойствам и объектам.
eval(expression:String): Object
expression Строка, содержащая имя искомой переменной, искомого свойства, объекта или мувиклипа.
Значение, ссылку на объект или мувиклип, или undefined.
Функция; предоставляет доступ к переменным, свойствам, объектам и мувиклипам по их имени. Если expression - это переменная или свойство, то будет возвращено значение переменной или свойства. Если же expression - это объект или мувиклип, то будет возвращена ссылка на объект или мувиклип. Если элемент с именем expression не удается найти, то функция возвращает undefined.
Во Flash 4, функция eval() была использована для эмуляции массивов; во Flash 5 или более новом, для этих целей вам следует использовать класс Array.
Во Flash 4, вы таже могли использовать eval() для динамического задания и получения значения переменной или имени экземпляра. Однако, вы также можете делать это при помощи оператора доступа к массиву ([]).
Во Flash 5 или более новом, вы не можете использовать eval() для динамического задания и получения значения переменной или имени экземпляра, потому что вы не можете использовать eval() слева от знака равенства. Например, замените код
eval ("var" + i) = "first";
на такой:
this["var"+i] = "first"
или этот:
set ("var" + i, "first");
Следующий пример использует eval() для установки свойств для динамически называемых мувиклипов. Этот ActionScript устанавливает свойство _rotation для трех мувиклипов, с именами square1_mc, square2_mc и square3_mc.
for (var i = 1; i<=3; i++) {
setProperty(eval("square"+i+"_mc"), _rotation, 5);
}
Также вы можете использовать следующий ActionScript:
for (var i = 1; i<=3; i++) {
this["square"+i+"_mc"]._rotation = -5;
}
| Посмотреть комментарии LiveDocs | Предыдущая | Следующая | Оглавление | |